import Vue from 'vue'
import Vuex from 'vuex'

// 定义state仓库数据
import state from './state'

// 定义一个getters => 专门提供类似计算属性的方式来获取state中的状态数据
import getters from './getters'

// 定义一个mutations => 唯一一个能够去修改state状态的对象 (此处修改是可以检测到数据变化)
import mutations from './mutations'

// 定义一个actions操作 = > 可以执行任意的异步任务,但是提交的是mutations , 不能直接操作state状态
import actions from './actions'

// 导入美图模块的store
import photo from './modules/photo'

// 在Vue中使用Vuex插件
Vue.use(Vuex)

// 创建一个仓库实例对象
const store = new Vuex.Store({
  state,
  getters,
  mutations,
  actions,
  modules: { // 拆分的模块
    photo
  }
})

export default store
